#ifndef CONSTANTS_H_
#define CONSTANTS_H_


#define WINDOW_WIDTH 640
#define WINDOW_HEIGHT 480

#define GRID_SIZE 10
#define MAX_EMIT_TIME 10
#define MIN_EMIT_TIME 7
#define CUBES_TO_EMIT 200
#define CUBE_Y_DROP 5;


#define MAX_WATER_EMIT_TIME 70
#define MIN_WATER_EMIT_TIME 10

#define CUBE_SPACING 2
#define CUBE_GAP 0.001
#define CUBE_HEIGHT 1
#define CUBE_SIZE 2

#define MAX_CUBES_IN_PILE 5

#define INIT_X_POS -5
#define INIT_Y_POS 4.15
#define INIT_Z_POS -34
#define MOVE_SPEED 0.01
#define ROTATE_SPEED 0.05

#define INIT_PITCH 40

#define GRAVITY 0.0001
#define GROUND_BOUNCE_LOSS 0.45
#define CUBE_BOUNCE_LOSS 0.80
#define MIN_CUBE_SPEED 0.0001

#define MIN_VOLUME 10

#define PICK_SIZE 5
#define PICK_BUFFER_SIZE 512

//Color positions
#define RED 0
#define GREEN 1
#define BLUE 2

//block types
#define STONE 0
#define GRASS 1
#define DIRT 2
#define WATER 3

//house part types
#define WINDOW 0
#define DOOR 1
#define BROWN_BLOCK 2
#define ROOF_RIGHT 3
#define ROOF_LEFT 4

//texture constants
#define NUM_CUBE_TEXTURES 4
#define TOP 0
#define SIDE 1

#define NUM_HOUSE_TEXTURES 5
#define BOTTOM 1
#define LEFT 2
#define RIGHT 3
#define FRONT 4
#define BACK 5

//event types
#define MOUSE_EVENT_TYPE 0
#define KEY_EVENT_TYPE 1
#define CUBE_PILE_ANIMATION_FINISHED_EVENT_TYPE 2


//water particle constants
#define MAX_DROPS_OF_WATER 100

#endif /*CONSTANTS_H_*/
